package v1

import (
	"github.com/gogf/gf/v2/frame/g"
	"ruoyi-vue-pro-go/api/common"
	"ruoyi-vue-pro-go/internal/model/entity"
	"ruoyi-vue-pro-go/internal/model/vo"
)

type GetOneReq struct {
	g.Meta `path:"/admin-api/system/tenant-package/get" method:"get" tags:"Tenant Package" permission:"system:tenant-package:query" summary:"Get tenant package by id"`
	Id     uint `v:"required" dc:"tenant package id"`
}
type GetOneRes struct {
	*vo.SystemTenantPackageVO `dc:"tenant package"`
}

type GetPageReq struct {
	g.Meta `path:"/admin-api/system/tenant-package/page" method:"get" tags:"Tenant Package Page" permission:"system:tenant-package:query" summary:"Get tenant package pages"`
	*common.CommonPageReq
	Name       string   `json:"name" dc:"tenant package name"`
	Status     int      `json:"status" dc:"status"`
	CreateTime []string `json:"createTime" dc:"create time"`
}
type GetPageRes struct {
	List []*entity.SystemTenantPackage `json:"list" dc:"tenant package pages"`
	*common.CommonPageRes
	Name       string   `dc:"tenant name"`
	Status     int      `dc:"status"`
	CreateTime []string `p:"createTime" dc:"create time"`
}

type GetListReq struct {
	g.Meta `path:"/admin-api/system/tenant-package/simple-list" method:"get" tags:"Tenant Package" permission:"system:tenant-package:query" summary:"Get tenant package list"`
}
type GetListRes struct {
	List []*entity.SystemTenantPackage `json:"list" dc:"tenant package list"`
}

type UpdateReq struct {
	g.Meta  `path:"/admin-api/system/tenant-package/{id}" method:"put" tags:"Tenant Package" permission:"system:tenant-package:update" summary:"Update tenant package"`
	Id      int64   `v:"required" dc:"tenant package id"`
	Name    *string `v:"required" dc:"tenant package name"`
	Status  int     `v:"required" dc:"租户套餐状态（0正常 1停用）"`
	MenuIds []int64 `v:"required" dc:"租户菜单编号"`
}
type UpdateRes struct{}

type CreateReq struct {
	g.Meta  `path:"/admin-api/system/tenant-package/create" method:"post" tags:"Tenant package" permission:"system:tenant-package:create" summary:"Create tenant package"`
	Name    *string `v:"required" dc:"tenant name"`
	Status  int     `v:"required" dc:"租户套餐状态（0正常 1停用）"`
	MenuIds []int64 `v:"required" dc:"租户菜单编号"`
}
type CreateRes struct{}

type DeleteReq struct {
	g.Meta `path:"/admin-api/system/tenant-package/delete" method:"delete" tags:"Tenant package" permission:"system:tenant-package:delete" summary:"Delete tenant package"`
	Id     int64 `v:"required"`
}
type DeleteRes struct{}

type DeleteListReq struct {
	g.Meta `path:"/admin-api/system/tenant-package/delete-list" method:"delete" tags:"Tenant package" permission:"system:tenant-package:delete" summary:"Delete tenant package list"`
	Ids    string `v:"required"`
}
type DeleteListRes struct{}
